As data is transferred through a device or system, the data bits within the data may become altered or corrupted due to imperfections in the data paths of the device or system. To aid in detecting and/or correcting the corrupted data bits, an error detection code (EDC) or error correction code (ECC) may be combined with the data. The EDC or ECC is generated based on the content of the data. To detect corrupt bits, an error checking unit generates another EDC or ECC based on the content of the data and compares the newly generated EDC or ECC with the EDC or ECC that is combined with the data. If the comparison results in a match between the EDCs or ECCs, none of the data bits were corrupted. On the other hand, if the comparison does not result in a match between the EDCs or ECCs, at least one of the data bit was corrupted. In some examples, a data path of the device or system may include a transform unit that transforms the combined EDC or ECC and the data bits.